Virtual reality is often used to describe a wide variety of applications commonly associated with immersive, highly visual, computer-simulated environments that can simulate a user's physical presence in places in the real world or imagined worlds. While virtual reality can recreate a number of sensory experiences, the senses most commonly used today to create virtual reality appear to be sight and sound.
One method of presenting a virtual world to a user that is commonly identified with virtual reality and presently in use is through the use of a visor or helmet containing a video display which encompasses part or all of a user's field of view and presents computer generated images representing the virtual reality environment, or “virtual world,” to the user. Such a device is often referred to as a head-mounted display, or HMD. One type of HMD presently available is the Oculus Rift from Oculus VR, now owned by Facebook.
Typically a HMD covers the user's eyes, so that the user sees only the virtual world while wearing the HMD and is thus unable to see the actual physical world around the user while in the virtual world. In the physical world a person is normally able to see his or her arms, legs and torso when they are within the person's field of vision, but a user of a HMD which covers the entire field of the user's vision is unable to do so. To enhance the realism of the virtual world, in some cases it is thus desirable that the user see in the virtual world an avatar of a body, or at least some portions thereof, which correspond to the user's physical sensations of his or her own body.
In some systems, such an avatar may be created by displaying virtual body parts such as arms, legs and torso in a position and orientation similar to how such body parts might ordinarily appear in the user's field of vision in the physical world. In order to display such virtual body parts in locations that at least approximate where the user's body parts are physically located, it is desirable to know the position and orientation of such parts of the user's body. The more precisely the actual physical position and orientation of a user's body part relative to the user's field of vision may be determined, the more accurately a virtual world avatar of a user may be portrayed in the user's field of vision on an HMD.
One known way of determining the position and orientation of a user's head is by attaching to the HMD a tracker which is able to sense a magnetic field generated from a local base station, video game console or other apparatus. The tracker provides information about the sensed magnetic field to a processor, which derives the position and orientation of the tracker, and thus the HMD, relative to the base station from such information.
It is also known to place such a tracker in a handheld controller, or to attach it to one or more of the user's limbs, which similarly allows the position and orientation of the controller or limbs to be derived by the processor. The processor may then extrapolate the position of the user's hand holding the controller from the position of the controller, and display an avatar of the user's hand to the user on the HMD based upon such extrapolation.
However, there are a number of factors that limit the accuracy of base station type systems. The strength of the magnetic field between a tracker and a base station suffers from attenuation over distance, which decreases accuracy in the detection of the magnetic field by the tracker. Objects located between the tracker and the base station may cause distortion in the magnetic field, particularly if those objects contain ferrous materials. Conducting surfaces in the environment may also contain eddy currents induced by the source magnetic field which in turn generate secondary magnetic fields that interfere with the ability of sensors to detect the source magnetic field. Still further, if a tracker is located on a handheld controller, the extrapolation of the position of the user's hand may be inaccurate, as the position of the tracker on the handheld controller may not precisely correspond to the position of the user's hand depending upon the size of the controller and where on the controller the tracker is located.
Thus, a base station type system may not be able to track desired portions of a user's body with sufficient accuracy to generate an avatar of those portions of the body in their precise positions relative to the user's field of vision such that the user sees the avatar of his or her body portions to be in the same locations in which they are physically felt by the user.